package com.service.business.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.service.business.member.controller.rep.MemberWalletRep;
import com.service.business.member.controller.req.MemberWalletPageReq;
import com.service.business.member.controller.req.MemberWalletReq;
import com.service.core.rest.response.CommonPageRep;
import com.service.dao.enums.CoinsEnum;
import com.service.dao.enums.CommonStatusEnums;
import com.service.dao.enums.WalletEnums;
import com.service.dao.model.MemberWallet;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * <dl>
 * <dt>back-end</dt>
 * <dd>Description:</dd>
 * <dd>Copyright: Copyright (C) 2015</dd>
 * <dd>Company: </dd>
 * <dd>CreateDate: 2019年09月21日</dd>
 * </dl>
 *
 * @author
 */
public interface MemberWalletService extends IService<MemberWallet> {

    CommonPageRep<MemberWalletRep> pageWallet(MemberWalletPageReq pageReq);

    void doAddWallet(MemberWalletReq walletReq);

    void doDeleteWallet(Integer id);

    MemberWallet getOneByMemberIdAndCoin(Integer memberId, CoinsEnum coins, WalletEnums.Type type);

    MemberWallet getByAddress(Integer memberId, String address);

    MemberWallet getByCoinIdAndBiz(Integer memberId, Integer walletStatus, Integer coin, Integer type, Integer bizType, String coins);

    MemberWalletRep getMemberDepositAddress(CoinsEnum coin, WalletEnums.Type type);

    MemberWalletRep initMemberDepositAddress(Integer memberId, CoinsEnum coin, WalletEnums.Type type);
}
